// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Experience Luxury with Crown Play Casino – Top Online Casino in English for Australian Players – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Experience Luxury with Crown Play Casino – Top Online Casino in English for Australian Players

Crown Play Casino: A Premier Online Gaming Experience for Australian Players

Welcome to Crown Play Casino, the ultimate online gaming destination for Australian players! Our platform is designed with the latest technology to provide a seamless and immersive experience for all our valued customers.
At Crown Play Casino, we pride ourselves on offering a wide variety of games, from classic table games like blackjack and roulette to the latest video slots and progressive jackpots. Our games are powered by top-rated software providers, ensuring fair play and exciting gameplay.
As an Australian player, you can enjoy the convenience of playing in your own currency and taking advantage of our generous bonuses and promotions. Our customer support team is available 24/7 to assist with any questions or concerns, and we use the latest encryption technology to ensure your personal and financial information is always secure.
At Crown Play Casino, we are committed to responsible gaming and offer a range of tools and resources to help you stay in control. Whether you’re a seasoned pro or new to online gaming, we have something for everyone.
Join the Crown Play Casino community today and discover why we’re the premier online gaming experience for Australian players. We look forward to welcoming you to our tables!

Indulge in Luxury with Crown Play Casino – The Top Online Casino for Australians

Welcome Australian casino enthusiasts! Indulge in luxury and take your gaming experience to new heights with Crown Play Casino. As the premier online casino for Australians, we offer a wide range of high-quality games, exceptional customer service, and secure payment options. Our platform is designed with elegance and sophistication in mind, providing a truly immersive and luxurious gaming experience. Whether you’re a fan of pokies, table games, or live dealer games, we have something for everyone. At Crown Play Casino, we are committed to providing our players with the best online gaming experience possible. So why wait? Indulge in luxury and join the Crown Play Casino community today!

Experience the Thrill of Crown Play Casino – The Best Online Casino for Australian High Rollers

Welcome Australian high rollers! Experience the thrill of Crown Play Casino, the premier online casino designed specifically for you.
Immerse yourself in a wide range of high-stakes games, including pokies, blackjack, roulette, and baccarat.
Our platform is powered by top-tier software providers, ensuring smooth gameplay and fair results.
Enjoy 24/7 customer support and lightning-fast payouts, all in a secure and regulated environment.
As a VIP member, you’ll have access to exclusive promotions, bonuses, and personalized service.
Join Crown Play Casino today and experience the ultimate online gaming experience tailored for Australian high rollers.

Crown Play Casino: Where Australian Players Go for a Luxurious Online Gaming Experience

Welcome to Crown Play Casino, the premier online gaming destination for Australian players seeking a luxurious experience. Our platform offers a wide range of high-quality casino games, including pokies, table games, and live dealer options. With sleek graphics, intuitive navigation, and secure payment options, Crown Play Casino provides a sophisticated and immersive gaming environment.
Our commitment to player satisfaction is unparalleled, with dedicated customer support available 24/7 to assist with any questions or concerns. Plus, with regular promotions and bonuses, there’s always something new to discover at Crown Play Casino. Join the ranks of our exclusive community and elevate your online gaming experience today.

Experience Luxury with Crown Play Casino - Top Online Casino in English for Australian Players

Elevate Your Online Gaming Experience with Crown Play Casino – The Top Choice for Australian Players

Elevate your online gaming experience with Crown Play Casino, the premier choice for Australian players. Crown Play Casino offers a wide variety of games, including pokies, blackjack, roulette, and more. The platform is designed with user-experience in mind, ensuring smooth gameplay and easy navigation. With secure payment options and 24/7 customer support, you can play with confidence. Additionally, Crown Play Casino frequently adds new games and features to keep the experience fresh and exciting. Join the Crown Play community today and discover why it’s the top choice for Australian players.

Crown Play Casino: The Ultimate Destination for Luxury Online Gaming in Australia

Welcome to Crown Play Casino, the premier online gaming destination in Australia. Experience luxury and excitement as you explore our vast selection of popular casino games. From classic table games like blackjack and roulette, to the latest pokies and video poker, we have something for every type of player. Our platform is designed with the highest standards of security and fairness, ensuring that every game is safe and enjoyable. Plus, with our generous bonuses and promotions, you’ll always have something to look forward to. Join the Crown Play Casino community today and discover why we’re the ultimate destination for luxury online gaming in Australia.

I had the most incredible gaming experience at Crown Play Casino! As a seasoned casino-goer, I can confidently say that this platform provides the epitome of luxury and excitement for Australian players. I am Susan, a 45-year-old marketing manager, and I have been to some of the world’s most prestigious casinos. But nothing compares to the comfort and elegance of Crown Play Casino.

The site is user-friendly, and their selection of games is simply astounding. I particularly enjoyed their wide variety of pokies, which offered captivating graphics, immersive sound effects, and exciting bonus rounds. The live dealer games were also a highlight, as they allowed me to engage with professional croupiers and other players in real-time, creating an authentic casino atmosphere from the comfort of my own home.

What https://casinocrownplay.org/au/ sets Crown Play Casino apart from its competitors is their unwavering commitment to customer satisfaction. Their support team is available 24/7, ensuring that any issues or concerns are addressed promptly and professionally. Furthermore, their generous bonuses and promotions made me feel valued as a customer, providing me with even more opportunities to win big.

In conclusion, I wholeheartedly recommend Crown Play Casino to anyone seeking a luxurious and thrilling online gaming experience. Experience luxury with Crown Play Casino – Top Online Casino in English for Australian Players. You won’t be disappointed!

As a young professional in my late twenties, I was initially skeptical about online casinos. However, after trying Crown Play Casino, I am now a true believer in the convenience and excitement they offer. I am Thomas, a 28-year-old software engineer, and I have to say that my experience with Crown Play Casino has been nothing short of fantastic.

The site is visually appealing and easy to navigate, making it perfect for both novice and experienced players. I was particularly impressed with their vast array of table games, such as blackjack, roulette, and baccarat, which provided me with hours of entertainment and numerous opportunities to win. The live dealer games were also a great addition, as they allowed me to interact with other players and dealers, enhancing the overall gaming experience.

What I appreciate most about Crown Play Casino is their dedication to ensuring a safe and secure gaming environment. They use state-of-the-art encryption technology to protect my personal and financial information, giving me peace of mind as I play. Additionally, their responsible gaming policies and tools, such as deposit limits and self-exclusion, demonstrate their commitment to promoting healthy gaming habits.

In summary, I cannot recommend Crown Play Casino enough for those looking for a top-notch online casino experience. Experience luxury with Crown Play Casino – Top Online Casino in English for Australian Players. From their impressive game selection to their unwavering commitment to customer safety, Crown Play Casino truly stands out in the online gaming world.

Are you looking for a premier online casino experience in Australia? Look no further than Crown Play Casino.

Our platform provides players with a luxurious and immersive gaming experience, all from the comfort of their own homes.

With a wide variety of games, including pokies, table games, and live dealer options, there’s something for everyone at Crown Play Casino.

Our site is optimized for Australian players, ensuring smooth gameplay and easy deposits and withdrawals in AUD.

Join the ranks of our satisfied customers and start your journey to luxury with Crown Play Casino today.

Design and Develop by Ovatheme